package com.dvdfe8.crochet.modelo.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.springframework.format.annotation.DateTimeFormat;

@Entity
@Table(name="CLIENTE")
public class Cliente implements Serializable{

    @Id
    @Column(name="CLIENTE_ID")
    @GeneratedValue
    private int id;
    
    @Column(name="NOMBRE")
    private String nombre;
    
    @Column(name="TELEFONO")
    private String telefono;
    
    @Column(name="CORREO")
    private String correo;
    
    @Column(name="FECHAALTA")
    @DateTimeFormat(pattern = "dd/MM/yyyy")
    private Date fechaAlta;
    
    @OneToMany(mappedBy = "cliente")
    private Collection<Pedido> pedidos = new ArrayList<Pedido>();

    public Cliente() {
        this.fechaAlta = new Date(System.currentTimeMillis());
    }

    public int getId() {
            return id;
    }

    public void setId(int id) {
            this.id = id;
    }

    public String getNombre() {
            return nombre;
    }

    public void setNombre(String nombre) {
            this.nombre = nombre;
    }

    public String getTelefono() {
            return telefono;
    }

    public void setTelefono(String telefono) {
            this.telefono = telefono;
    }

    public String getCorreo() {
            return correo;
    }

    public void setCorreo(String correo) {
            this.correo = correo;
    }

    public Collection<Pedido> getPedidos() {
            return pedidos;
    }

    public void setPedidos(ArrayList<Pedido> pedidos) {
            this.pedidos = pedidos;
    }
    
    public void agregarPedido(Pedido pedido){
        pedidos.add(pedido);
    }
    
    public Date getFechaAlta() {
        return fechaAlta;
    }

    public void setFechaAlta(Date fechaAlta) {
        this.fechaAlta = fechaAlta;
    }

}
